import { IChechOperation } from "../..";
import { UploadFile } from "ng-zorro-antd";

// export class DrillSubjectInput {
//     constructor(
//         public drillSubjectName = '',
//         public description = '',
//     ) { }
// }

export class DrillProjectOutput {
    constructor(
        public projectName = '',
        public backgroundImg = '',
        public backColor = '',
        public bannerImg = '',
        public bottomImg = '',
        public projectDesc = '',
        public projectBackground = '',
        public guide = '',
        public classResuorce = '') { }
}

export class DrillSubjectOutput {
    constructor(
        public drillSubjectName = '',
        public description = '',
        public drillSubjectImage = '',
        public id = 0,
    ) { }
}

export class DrillRoleOutput {
    constructor(
        public drillRoleName = '',
        public drillRoleDescription = '',
        public id = 0,
    ) { }
}

export class DrillFlowOutput {
    constructor(
        public drillRoleId = null,
        public flowIndex = 0,
        public flowName = '',
        public flowComment = '',
        public returnIndex = 0,
        public flowHandleType = FlowHandleType.SubmitCancel,
        public id = 0,
        public reViewIndex = 1,
        public backgroundColor = '',
        public videoContent = '',
        public videoUrl = '',
    ) { }
}

export class DrillFormOutput implements IChechOperation {
    IsChecked = false;
    constructor(
        public fieldName: string = '',
        public fieldCaption: string = '',
        public fieldType: number = 0,
        public isRequired: boolean = false,
        public maxLength: number = 0,
        public minLength: number = 0,
        public remoteValid: string = '',
        public remoteData: string = '',
        public sortOrder: number = 1,
        public id: number = 0,
        public isSearchField: boolean = false,
        public loadRemoteDataType = 0,
        public showInForm = true,
        public showInTable = true,
        public canSortable = false,
        public groupId = 0,
        public rowIndex: number = 0,
        public colIndex: number = 0,
        public rowSpan: number = 0,
        public colSpan: number = 0,
    ) {

    }
}

export class DrillGroup {
    constructor(
        public groupName: string = '',
        public groupIndex: number = 1,
    ) { }
}


export class RecordFormUpLoadFile {
    constructor(
        public controlName = '',
        public fileList: UploadFile[] = [],
    ) { }
}

export class RecordUploadFile {
    constructor(
        public FormName = '',
        public FileName = '',
        public FileData = '') { }
}

export enum FlowHandleType {
    /// <summary>
    /// 是否提交
    /// </summary>
    SubmitCancel,
    /// <summary>
    /// 审批操作
    /// </summary>
    PassReject,
    /// <summary>
    /// 完成
    /// </summary>
    Complete
}